package com.example.myapplication;

import android.annotation.SuppressLint;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Vibrator;
import android.provider.Telephony;

public class SmsReader {
    public static void readLastTenSms(Context context) {
        // 设置要查询的 URI
        Uri uri = Telephony.Sms.Inbox.CONTENT_URI;

        // 设置要查询的字段
        String[] projection = {Telephony.Sms._ID, Telephony.Sms.ADDRESS, Telephony.Sms.BODY, Telephony.Sms.DATE};

        // 查询短信，按日期倒序排序，并限制结果数量为10
        Cursor cursor = context.getContentResolver().query(uri, projection, null, null, Telephony.Sms.DATE + " DESC LIMIT 10");

        if (cursor != null && cursor.moveToFirst()) {
            do {
                // 获取短信的相关信息
                @SuppressLint("Range") String address = cursor.getString(cursor.getColumnIndex(Telephony.Sms.ADDRESS));
                @SuppressLint("Range") String body = cursor.getString(cursor.getColumnIndex(Telephony.Sms.BODY));
                @SuppressLint("Range") long date = cursor.getLong(cursor.getColumnIndex(Telephony.Sms.DATE));

                // 处理获取到的短信信息
                // 在这里，你可以将短信信息保存到列表中，或者进行其他处理
                // 例如，输出到日志
                String smsInfo = "Address: " + address + "\nBody: " + body + "\nDate: " + date;
                //短信内容中如果包含“河南交警”则进行一秒的震动
                if(body.contains("河南省交警")){
                    System.out.printf("开始震动");
                    vibrate(context);
                }
                System.out.println(smsInfo);
            } while (cursor.moveToNext());
        }

        // 关闭游标
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
        }
    }

    private static void vibrate(Context context) {
        Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
        if (vibrator != null) {
            // 震动1秒钟
            vibrator.vibrate(1000);
        }
    }
}
